package com.example.demo.service;

import com.example.demo.dto.RoleConfigDTO;
import com.example.demo.entity.RoleConfig;
import com.example.demo.request.CreateRoleConfigRequest;
import java.util.List;

public interface RoleConfigService {

    /**
     * 分页查询角色配置列表
     */
    List<RoleConfigDTO> getRoleConfigs(int page, int size);

    /**
     * 获取角色配置总数
     */
    long countRoleConfigs();

    /**
     * 根据 ID 查询角色配置详情
     */
    RoleConfigDTO getRoleConfigById(Integer id);

    /**
     * 创建新角色配置
     */
    RoleConfig createRoleConfig(CreateRoleConfigRequest request);

    /**
     * 更新角色配置
     */
    void updateRoleConfig(Integer id, CreateRoleConfigRequest request);

    /**
     * 删除角色配置
     */
    void deleteRoleConfig(Integer id);
    
    /**
     * 按角色名称搜索角色配置
     */
    List<RoleConfigDTO> searchRoleConfigsByRoleName(String roleName);
}